A computer network, often referred to simply as a network, is a group of interconnected computing devices that facilitates communication among users and allows users to share resources. Adapters, switches and routers may be used to interconnect network devices. Such devices may be referred to simply as network nodes.
In conventional systems, a first network node may communicate with a second network node to transmit and receive data. The nodes typically negotiate a transfer rate for transmitting and receiving data. The negotiation rate picks the highest transfer rate that may be available between network nodes and then data can be transmitted and received at the negotiated rate.
Simply using the highest rate may not be desirable in a networking environment because a network link may be underutilized in one direction and computing applications may have asymmetric data patterns such as access to read only storage device at a storage area network, a web server or any other device. Continuous efforts are being made to improve network communication.